package cn.iocoder.yudao.module.handguard.dal.dataobject.order;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 订单 DO
 *
 * @author 芋道源码
 */
@TableName("hutai_order")
@KeySequence("hutai_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderDO extends BaseDO {

    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 申请时间
     */
    private LocalDateTime applyTime;
    /**
     * 申请人
     */
    private String applyUser;
    /**
     * 预估额度
     */
    private BigDecimal amount;
    /**
     * 实际放款额度
     */
    private BigDecimal practicalAmount;

    /**
     * 实际放款时间
     */
    private LocalDateTime practicalTime;


    /**
     * 订单状态 1.资料审核、2.银行面签填贷款申请表、3.考察抵押物和经营场所、4.银行出批复5.银行面签抵押合同和借款合同、6.办理抵押、7.办公证、8.放款
     */
    private String orderState;
    /**
     * 0未完成 1:完成  2:待跟进  3跟进中
     */
    private String states;
    /**
     * 是否智能匹配
     */
    private String whether;
    /**
     * 产品id,多个使用逗号拼接
     */
    private String productId;

    @TableField(exist = false)
    private String productName;

    /**
     * 业务员id
     */
    private Long agentId;
    /**
     * 权证用户id
     */
    private Long equityUserId;

}
